home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / catlog / source / egb_b2.s < prev    next >
Text File  |  1993-07-08  |  2KB  |  132 lines

  1. /*
  2.     T-BIOS Graphics Library
  3.         for GNU assembler
  4.                 by Waku Factory
  5.              90/03/20 Ver 1.0
  6.          90/10/11     1.2
  7. */
  8.     .globl _EGB_getBlockColor
  9.     .globl _EGB_putBlockColor
  10.     .globl _EGB_getBlock
  11.     .globl _EGB_putBlock
  12.     .globl _EGB_getBlockZoom
  13.     .globl _EGB_putBlockZoom
  14.  
  15.  
  16.     .data
  17.     .text
  18. /****************************************
  19.      EGB  block operation  2 / 3
  20.  ****************************************/
  21.  
  22. /*
  23.     EGB_getBlockColor( char *gwork, char *param ) 矩形領域読みだし(色指定)
  24. */
  25.     .align 4
  26. _EGB_getBlockColor:
  27.     push  %edi
  28.     push  %esi
  29.     movl  16(%esp),%esi
  30.     movb  $0x22,%ah
  31.     movl  12(%esp),%edi
  32.     push  $0x0110
  33.     pop   %fs
  34.     lcall %fs:(0x20)
  35.     movsbl %ah,%eax
  36.     pop   %esi
  37.     pop   %edi
  38.     ret
  39.  
  40. /*
  41.     EGB_putBlockColor( char *gwork,int clip, char *param ) 矩形領域書き込み(色指定)
  42. */
  43.     .align 4
  44. _EGB_putBlockColor:
  45.     push  %edi
  46.     push  %esi
  47.     movw  16(%esp),%al
  48.     movl  20(%esp),%esi
  49.     movb  $0x23,%ah
  50.     movl  12(%esp),%edi
  51.     push  $0x0110
  52.     pop   %fs
  53.     lcall %fs:(0x20)
  54.     movsbl %ah,%eax
  55.     pop   %esi
  56.     pop   %edi
  57.     ret
  58.  
  59. /*
  60.     EGB_getBlock( char *gwork,char *param ) 矩形領域読みだし(フルカラー)
  61. */
  62.     .align 4
  63. _EGB_getBlock:
  64.     push  %edi
  65.     push  %esi
  66.     movl  16(%esp),%esi
  67.     movb  $0x24,%ah
  68.     movl  12(%esp),%edi
  69.     push  $0x0110
  70.     pop   %fs
  71.     lcall %fs:(0x20)
  72.     movsbl %ah,%eax
  73.     pop   %esi
  74.     pop   %edi
  75.     ret
  76.  
  77. /*
  78.     EGB_putBlock( char *gwork, int clip, char *param ) 矩形領域書き込み(フルカラー)
  79. */
  80.     .align 4
  81. _EGB_putBlock:
  82.     push  %edi
  83.     push  %esi
  84.     movb  16(%esp),%al
  85.     movl  20(%esp),%esi
  86.     movb  $0x25,%ah
  87.     movl  12(%esp),%edi
  88.     push  $0x0110
  89.     pop   %fs
  90.     lcall %fs:(0x20)
  91.     movsbl %ah,%eax
  92.     pop   %esi
  93.     pop   %edi
  94.     ret
  95.  
  96. /*
  97.     EGB_getBlockZoom( char *gwork, char *param ) 矩形領域読みだし(ズーム付)
  98. */
  99.     .align 4
  100. _EGB_getBlockZoom:
  101.     push  %edi
  102.     push  %esi
  103.     movl  16(%esp),%esi
  104.     movb  $0x26,%ah
  105.     movl  12(%esp),%edi
  106.     push  $0x0110
  107.     pop   %fs
  108.     lcall %fs:(0x20)
  109.     movsbl %ah,%eax
  110.     pop   %esi
  111.     pop   %edi
  112.     ret
  113.  
  114. /*
  115.     EGB_putBlockZoom( char *gwork,int clip, char *param ) 矩形領域書き込み(ズーム付)
  116. */
  117.     .align 4
  118. _EGB_putBlockZoom:
  119.     push  %edi
  120.     push  %esi
  121.     movb  16(%esp),%al
  122.     movl  20(%esp),%esi
  123.     movb  $0x27,%ah
  124.     movl  12(%esp),%edi
  125.     push  $0x0110
  126.     pop   %fs
  127.     lcall %fs:(0x20)
  128.     movsbl %ah,%eax
  129.     pop   %esi
  130.     pop   %edi
  131.     ret
  132.